package 经典例题;

public class 反转链表 {
    //迭代
//    public ListNode reverseList(ListNode head) {
//        ListNode newHead=null;
//        ListNode next=null;
//        while (head!=null){
//            next=head.next;
//            head.next=newHead;
//            newHead=head;
//            head=next;
//        }
//        return newHead;
//    }
    //递归   以后使用第二种方法
    public ListNode reverseList(ListNode head) {
        if(head == null || head.next == null) {
            return head;
        }
        ListNode node = reverseList(head.next);
        //让当前的节点的下一个节点的next指向当前节点
        head.next.next = head;
        head.next = null;
        return node;
    }
}
